package com.example.springbootdemo.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;

// entity的包指的是该对应是用来封装数据库的查询数据的。
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("user")  // 当java实体对象与数据库表名不符合的时候，需要通过该属性来指定
public class User {

    // 标识该字段映射到数据库的主键, 针对数据库自增长，需要将 type 设置为 IdType.AUTO
    @TableId(type = IdType.AUTO)
    private Integer id;

    private String name;
    private String password;
    private String gender;
    private String email;

    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date birthday;

    // @TableField是数据库的字段名
    @TableField("createTime")
    private Date createTime; // create_time

    @TableField("updateTime")
    private Date updateTime;

    private String avatar;

    private Integer companyId;
}
